package com.ds.common;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.io.Serial;
import java.io.Serializable;

/**
 * 分页参数封装
 *
 * @param <T> 数据类型
 * @author fs
 */
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class Page<T> implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 参数
     */
    @Getter
    private T param;

    /**
     * 当前页码。
     */
    private int pageNum;

    /**
     * 每页数据数量。
     */
    private int pageSize;

    public int getPageNum() {
        return Math.max(pageNum, 1);
    }

    public int getPageSize() {
        if (pageSize <= 0) {
            return 10;
        }
        return pageSize;
    }
}